% \usepackage{tikz,graphicx,subfig,caption, ulem, cancel}
\usetikzlibrary{positioning, fit, matrix, shapes.geometric, shapes.arrows}

\begin{tikzpicture}
  \matrix [matrix of nodes, nodes in empty cells,
    nodes={text width=1.5em, align=center,
        minimum height=1.5em, anchor=base}] (ml)
  {
    (1)  & ($=$ & $5$                     & \_\_                    & B)  &     &              &  & (1)  & ($=$ & $5$    & \_\_ & B)  \\
    (2)  & ($*$ & $2$                     & $3.14$                  & \_\_  & $t_1$) & $t_1$=$6.28$                                       \\
    (3)  & ($+$ & R                   & r                     & $t_2$) &     &              &  & (3)  & ($+$ & R    & r  & $t_2$) \\
    (4)  & ($/$ & \bcancel{$t_1$} & $t_2$                    & $t_3$) &     &              &  & (4)  & ($/$ & $6.28$ & $t_2$ & $t_3$) \\
    (5)  & ($=$ & $t_3$                    & \_\_                    & A)  &     &              &  & (5)  & ($=$ & $t_3$   & \_\_ & A)  \\
    (6)  & ($*$ & $2$                    & $3.14$                  & $t_4$) &     & $t_4$=$6.28$                                       \\
    (7)  & ($+$ & R                     & r                     & $t_5$) &     & $t_5$$\equiv$$t_2$                                  \\
    (8)  & ($/$ & \bcancel{$t_4$} & \bcancel{$t_5$} & $t_6$) &     & $t_6$$\equiv$$t_3$                                  \\
    (9)  & ($-$ & R                     & r                     & $t_7$) &     &              &  & (9)  & ($-$ & R    & r  & $t_7$) \\
    (10) & ($*$ & \bcancel{$t_6$} & $t_7$                    & $t_8$) &     &              &  & (10) & ($*$ & $t_3$   & $t_7$ & $t_8$) \\
    (11) & ($=$ & $t_8$                    & \_\_                    & B)  &     &              &  & (11) & ($=$ & $t_8$   & \_\_ & B)  \\
  };
  \node (B) [right=5em of ml-7-7.east] {B 没有引用！};
  %ellipse
  \node [ellipse, minimum width=0.6cm, minimum height=0.45cm, draw] (el1) at (ml-4-3.center) {};
  % \draw (ml-4-3.center) circle [x radius=0.9em, y radius=0.75em]; % in this way, cannot give it a name.
  \node [ellipse, minimum width=0.6cm, minimum height=0.45cm, draw] (el2) at (ml-8-3.center) {};
  \node [ellipse, minimum width=0.6cm, minimum height=0.45cm, draw] (em1) at (ml-8-4.center) {};
  \node [ellipse, minimum width=0.6cm, minimum height=0.45cm, draw] (el3) at (ml-10-3.center) {};
  \node [ellipse, minimum width=0.75cm, minimum height=0.6cm, draw] (er1) at ([xshift=0.4em]ml-2-7.east) {};
  \node [ellipse, minimum width=0.75cm, minimum height=0.6cm, draw] (er2) at ([xshift=0.4em]ml-6-7.east) {};
  \node [ellipse, minimum width=0.5cm, minimum height=0.45cm, draw] (er3) at ([xshift=0.1em]ml-7-7.east) {};
  \node [ellipse, minimum width=0.5cm, minimum height=0.45cm, draw] (er4) at ([xshift=0.1em]ml-8-7.east) {};

  %->
  \draw [very thick, ->] ([xshift=0.5em]ml-1-5.east) -- ([xshift=-0.5em]ml-1-9.west);
  \draw [very thick, ->] ([xshift=0.5em]ml-3-5.east) -- ([xshift=-0.5em]ml-3-9.west);
  \draw [very thick, ->] ([xshift=0.5em]ml-4-5.east) -- ([xshift=-0.5em]ml-4-9.west);
  \draw [very thick, ->] ([xshift=0.5em]ml-5-5.east) -- ([xshift=-0.5em]ml-5-9.west);
  \draw [very thick, ->] ([xshift=0.5em]ml-9-5.east) -- ([xshift=-0.5em]ml-9-9.west);
  \draw [very thick, ->] ([xshift=0.5em]ml-10-5.east) -- ([xshift=-0.5em]ml-10-9.west);
  \draw [very thick, ->] ([xshift=0.5em]ml-11-5.east) -- ([xshift=-0.5em]ml-11-9.west);
  %delete lines
  \draw [-] (ml-1-2.west) -- (ml-1-5.east);
  \draw [-] (ml-1-9.west) -- (ml-1-13.east);
  \draw [-] (ml-2-2.west) -- (ml-2-6.east);
  \draw [-] (ml-6-2.west) -- (ml-6-5.east);
  \draw [-] (ml-7-2.west) -- (ml-7-5.east);
  \draw [-] (ml-8-2.west) -- (ml-8-5.east);
  %->
  \draw [->] (er1) -- (el1);
  \draw [->] (er2) --(el2);
  \draw [->] (er3) -- (em1.south east);
  \draw [->] (er4) -- (el3);
  %rectangle
  \draw [dashed] (ml-2-1.north west) rectangle ([yshift=-0.5em]ml-10-6.east);
  %big EMPTY LARGE arrow!
  \node[dashed, draw, single arrow,
    minimum height=28mm, minimum width=15mm,
    single arrow head extend=2mm,
    anchor=west, rotate=0] at (ml-10-6.east |- B.west) {};
  %curves
  \draw [->, dashed] ([xshift=-0.5em]ml-7-1.east) to [out=30,in=-175] ([yshift=0.5em]ml-3-9.south west);
  \draw [->, dashed] ([xshift=-0.5em]ml-8-1.east) to [out=30,in=-175] ([yshift=0.5em]ml-4-9.south west);
\end{tikzpicture}